<?php

class Api_City extends PhalApi_Api {

    public function getRules() {
        return array(
            'getWeather' => array(
                'cityName' => array('name' => 'cityName', 'type' => 'string', 'require' => true, 'desc' => '城市ID，城市名' ,'default' => '北京'),
                'needMoreDay' => array('name' => 'needMoreDay', 'type' => 'int', 'require' => false, 'desc' => '是否需要返回7天数据中的后4天。1为返回，0为不返回。' ,'default' => 0),
                'needIndex' => array('name' => 'needIndex', 'type' => 'int', 'require' => false, 'desc' => '是否需要返回指数数据，比如穿衣指数、紫外线指数等。1为返回，0为不返回。' ,'default' => 0),
                'needHourData' => array('name' => 'needHourData', 'type' => 'int', 'require' => false, 'desc' => '是否需要每小时数据的累积数组。' ,'default' => 0),
                'key' => array('name' => 'key', 'type' => 'string', 'require' => false, 'desc' => '身份标识' ),
            ),
        );
    }

    /**
     * 天气信息接口
     * @return int code 操作码，0表示成功，1表示用户不存在
     * @return Object info 用户信息对象
     * @return Object info.f1 天气信息对象
     * @return string info.f1.day_weather 白天天气
     * @return string info.f1.night_weather 晚上天气
     * @return string info.f1.day_air_temperature 白天天气温度(摄氏度)
     * @return string info.f1.night_air_temperature 晚上天气温度(摄氏度)
     * @return string info.f1.day_wind_direction 白天风向
     * @return string info.f1.night_wind_direction 晚上风向
     * @return string info.f1.day_wind_power 白天风力
     * @return string info.f1.night_wind_power 晚上风力
     * @return string info.f1.sun_begin_end 日出日落时间(中间用|分割)
     * @return string info.f1.day 日期
     * @return string info.f1.weekday 星期
     * @return string info.f1.day_weather_pic 白天天气图标
     * @return string info.f1.night_weather_pic 晚上天气图标
     * @return Object info.index 指数对象
     * @return string info.index.beauty 化妆指数
     * @return string info.index.clothes 穿衣指数
     * @return string info.index.cold 感冒指数
     * @return string info.index.comfort 舒适度
     * @return string info.index.glass 太阳镜
     * @return string info.index.sports 运动指数
     * @return string info.index.travel 旅游指数
     * @return string info.index.uv 紫外线
     * @return string info.index.wash_car 洗车指数
     * @return Object info.now 实时天气数据对象
     * @return string info.now.aqi 空气指数，越小越好
     * @return string info.now.sd 空气湿度
     * @return string info.now.temperature 气温
     * @return string info.now.temperature_time 获取气温的时间
     * @return string info.now.weather 天气
     * @return string info.now.weather_pic 天气小图标
     * @return string info.now.wind_direction 风向
     * @return string info.now.wind_power 风力
     * @return string info.thanks 特别鸣谢|接口数据源
     * @return string msg 提示信息
     */
    public function getWeather() {
        $rs = array('code' => 0, 'msg' => '', 'info' => array());

        $domain = new Domain_ShowAPI();
        $info = $domain->getWeatherInfo($this->cityName, $this->needMoreDay, $this->needIndex, $this->needHourData);

        if ( empty($info) ) {
            $rs['code'] = ReturnCode::NOT_EXISTS;
            $rs['msg'] = T('NOT_EXISTS',[$this->cityName]);
            return $rs;
        }
        $rs['info'] = $info;

        return $rs;
    }

}
